    	<%@ page contentType="text/html;charset=UTF-8" %>
    	
		<!-- basic scripts -->
		<!--[if !IE]> -->
		<script type="text/javascript">
			window.jQuery || document.write("<script src='${ctx}/ace/js/jquery.min.js'>"+"<"+"/script>");
		</script>
		<!-- <![endif]-->

		<!--[if IE]>
		<script type="text/javascript">
			 window.jQuery || document.write("<script src='${ctx}/ace/js/jquery1x.min.js'>"+"<"+"/script>");
		</script>
		<![endif]-->
		<script type="text/javascript">
			if('ontouchstart' in document.documentElement) document.write("<script src='${ctx}/ace/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
		</script>
		<script src="${ctx}/ace/js/bootstrap.min.js"></script>

		<!-- page specific plugin scripts -->

		<!--[if lte IE 8]>
		  <script src="${ctx}/ace/js/excanvas.min.js"></script>
		<![endif]-->
		<script src="${ctx}/ace/js/jquery-ui.min.js"></script>
		<script src="${ctx}/ace/js/jquery-ui.custom.min.js"></script>
		<script src="${ctx}/ace/js/jquery.ui.touch-punch.min.js"></script>
		<script src="${ctx}/ace/js/jquery.easypiechart.min.js"></script>
		<script src="${ctx}/ace/js/jquery.sparkline.min.js"></script>
		<!--
		<script src="${ctx}/ace/js/flot/jquery.flot.min.js"></script>
		<script src="${ctx}/ace/js/flot/jquery.flot.pie.min.js"></script>
		<script src="${ctx}/ace/js/flot/jquery.flot.resize.min.js"></script>
		-->
		<script src="${ctx}/ace/js/chosen.jquery.min.js"></script>
		<script src="${ctx}/ace/js/fuelux/fuelux.spinner.min.js"></script>
		<script src="${ctx}/ace/js/date-time/bootstrap-datepicker.min.js"></script>
		<script src="${ctx}/ace/js/date-time/bootstrap-timepicker.min.js"></script>
		<script src="${ctx}/ace/js/date-time/moment.min.js"></script>
		<script src="${ctx}/ace/js/date-time/daterangepicker.min.js"></script>
		<script src="${ctx}/ace/js/date-time/bootstrap-datetimepicker.min.js"></script>
		<script src="${ctx}/ace/js/date-time/locales/bootstrap-datepicker.zh-CN.js"></script>
		<script src="${ctx}/ace/js/date-time/locales/bootstrap-datetimepicker.zh-CN.js"></script>
		<script src="${ctx}/ace/js/bootstrap-colorpicker.min.js"></script>
		<script src="${ctx}/ace/js/jquery.knob.min.js"></script>
		<script src="${ctx}/ace/js/dropzone.min.js"></script>
		
		<script src="${ctx}/ace/js/jquery.gritter.min.js"></script>
		<script src="${ctx}/ace/js/jquery.inputlimiter.1.3.1.min.js"></script>
		<script src="${ctx}/ace/js/jquery.maskedinput.min.js"></script>
		<script src="${ctx}/ace/js/bootstrap-tag.min.js"></script>
		<script src="${ctx}/ace/js/typeahead.jquery.min.js"></script>
		<script src="${ctx}/ace/js/bootbox.min.js"></script>
		<script src="${ctx}/ace/js/jquery.autosize.min.js"></script>
		<!-- page specific plugin scripts -->
		<script src="${ctx}/ace/js/jquery.dataTables.min.js"></script>
		<script src="${ctx}/ace/js/jquery.dataTables.bootstrap.js"></script>
		
		<script src="${ctx}/ace/js/fuelux/fuelux.wizard.min.js"></script>
		<script src="${ctx}/ace/js/jquery.validate.min.js"></script>
		<script src="${ctx}/ace/js/additional-methods.min.js"></script>
		<script src="${ctx}/ace/js/select2.min.js"></script>

		<!-- ace scripts -->
		<script src="${ctx}/ace/js/ace-elements.min.js"></script>
		<!--<script src="${ctx}/ace/js/ace.min.js"></script>-->
		<script src="${ctx}/ace/js/uncompressed/ace.js"></script>
		
		
		<script src="${ctx}/js/param-util.js"></script>
		<script src="${ctx}/js/page.util.js"></script>
		<script src="${ctx}/js/ext_dialog.js"></script>
		<script src="${ctx}/js/select.js"></script>
		<script src="${ctx}/js/jquery-datatable-zh-CN.js"></script>
		<script src="${ctx}/js/jquery.tmpl.js"></script>
		<script src="${ctx}/js/form.serialize-json.js"></script>
		<script src="${ctx}/js/common-form-params.js"></script>
		
		<script src="${ctx}/ace/js/bootstrap-multiselect.js"></script>
		
		<script type="text/javascript">
			var ParamTool = new ParamsUtil();
		</script>
		
		<script>
		jQuery(function($) {
		    $.widget( "custom.combobox", {
		      _create: function() {
		        this.wrapper = $( "<span>" )
		          .addClass( "custom-combobox" )
		          .insertAfter( this.element );
		 
		        this.element.hide();
		        this._createAutocomplete();
		        this._createShowAllButton();
		      },
		 
		      _createAutocomplete: function() {
		        var selected = this.element.children( ":selected" ),
		          value = selected.val() ? selected.text() : "";
		 
		        this.input = $( "<input>" )
		          .appendTo( this.wrapper )
		          .val( value )
		          .attr( "title", "" )
		          .addClass( "custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left" )
		          .autocomplete({
		            delay: 0,
		            minLength: 0,
		            source: $.proxy( this, "_source" )
		          })
		          .tooltip({
		            tooltipClass: "ui-state-highlight"
		          });
		 
		        this._on( this.input, {
		          autocompleteselect: function( event, ui ) {
		            ui.item.option.selected = true;
		            this._trigger( "select", event, {
		              item: ui.item.option
		            });
		          },
		 
		          autocompletechange: "_removeIfInvalid"
		        });
		      },
		 
		      _createShowAllButton: function() {
		        var input = this.input,
		          wasOpen = false;
		 
		        $( "<a>" )
		          .attr( "tabIndex", -1 )
		          .attr( "title", "Show All Items" )
		          .tooltip()
		          .appendTo( this.wrapper )
		          .button({
		            icons: {
		              primary: "ace-icon fa fa-chevron-down"
		            },
		            text: false
		          })
		          .removeClass( "ui-corner-all" )
		          .addClass( "btn  btn-sm no-border" )
		          .mousedown(function() {
		            wasOpen = input.autocomplete( "widget" ).is( ":visible" );
		          })
		          .click(function() {
		            input.focus();
		 
		            // 如果已经可见则关闭
		            if ( wasOpen ) {
		              return;
		            }
		 
		            // 传递空字符串作为搜索的值，显示所有的结果
		            input.autocomplete( "search", "" );
		          });
		      },
		 
		      _source: function( request, response ) {
		        var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
		        response( this.element.children( "option" ).map(function() {
		          var text = $( this ).text();
		          if ( this.value && ( !request.term || matcher.test(text) ) )
		            return {
		              label: text,
		              value: text,
		              option: this
		            };
		        }) );
		      },
		 
		      _removeIfInvalid: function( event, ui ) {
		 
		        // 选择一项，不执行其他动作
		        if ( ui.item ) {
		          return;
		        }
		 
		        // 搜索一个匹配（不区分大小写）
		        var value = this.input.val(),
		          valueLowerCase = value.toLowerCase(),
		          valid = false;
		        this.element.children( "option" ).each(function() {
		          if ( $( this ).text().toLowerCase() === valueLowerCase ) {
		            this.selected = valid = true;
		            return false;
		          }
		        });
		 
		        // 找到一个匹配，不执行其他动作
		        if ( valid ) {
		          return;
		        }
		 
		        // 移除无效的值
		        this.input
		          .val( "" )
		          .attr( "title", value + " 没有合适的选项" )
		          .tooltip( "open" );
		        this.element.val( "" );
		        this._delay(function() {
		          this.input.tooltip( "close" ).attr( "title", "" );
		        }, 2500 );
		        this.input.data( "ui-autocomplete" ).term = "";
		      },
		 
		      _destroy: function() {
		        this.wrapper.remove();
		        this.element.show();
		      }
		    });
		});

		$('.open_multiselect').multiselect({
			enableFiltering: true, //搜索
			nonSelectedText:'== 请选择 ==',
			filterPlaceholder:'搜索',
			nSelectedText:'项被选中',
			includeSelectAllOption:true, //全选
			selectAllText:'全选/取消全选',
			allSelectedText:'已选中所有',
			maxHeight:300
		});
		
		function echo_multiple(selectObjectId, paramsArray){
			//下拉框的对象
			var object = $("#" + selectObjectId);
			if(paramsArray != ''){
				//遍历回显的数据数组
				$.each(paramsArray,function(index,element){
					object.multiselect('select', element);
				});
			}
		}
		</script>
		
